約 4,184,689 件
https://w.atwiki.jp/memo_android/pages/18.html
パスの設定 ↓を記述 "Test113jni"は任意。ソース名とモジュール名。 ソース名を.cppにすればC++で記述可能。クラス使用可能になる。 LOCAL_PATH = $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE = Test113jni LOCAL_SRC_FILES = Test113jni.cpp LOCAL_LDLIBS = -llog include $(BUILD_SHARED_LIBRARY) Nativeの関数名 命名規則 "extern "C" void Java_"まで固定、以降に "パッケージ名" "Native呼び出し側のクラス名" "関数名"。 Javaから関数を呼び出すときは関数名と引数のみで呼び出す。 extern "C" void Java_com_Test113_Test113Act_RGBtoLuminance(JNIEnv *env, jobject obj, jintArray colors, jint sizeX, jint sizeY, jdouble ss, jdouble f, jdouble iso, jdoubleArray lum)
https://w.atwiki.jp/nikoban/pages/13.html
android関連 androidソースコードをダウンロードする androidソースコードをビルドする 標準アプリをeclipse上でビルドする
https://w.atwiki.jp/odroid/pages/23.html
ODROID-A 概要 『ODROID-A』は、OSにAndroid(TM) 2.3(Gingerbread)を採用、Samsung製の最新マルチコアプロセッサ(Cortex-A9 Dual-core 1GHz)と10.1インチマルチタッチパネル(1366×768)、HSPAモジュールを搭載した開発者向けハイスペックタブレットです。 背面に3メガピクセル(オートフォーカス)、前面に1.3メガピクセルの2つのカメラを備え、GPSモジュール、3次元加速度センサ、方位センサなどを内蔵します。 無線は、IEEE802.11 b/g/n、Bluetooth(TM) 2.1+EDR、Broadband(HSPA evolution/HSPA/UMTS、Edge/GPRS/GSM)に対応、ビデオ出力は1080PのHDMI出力をサポートしています。 『ODROID-A』には、OSカーネル、デバイスドライバ、アプリケーション開発を支援するために、JTAGインターフェースとシステムマクロトレース(横河ディジタル製、Android(TM)対応動的解析デバッグツール)が接続可能なSDスロットを備えていますので、JTAGによるデバッグやシステムマクロトレースによる解析により開発効率を向上させることができます。 また、『ODROID-A』には、開発者向けに回路図とソースコードが添付されるため、アプリケーション開発のみならず、多彩なGUI機能とマルチメディア機能を最大限に活かしたタブレット端末、POS端末や受付端末などのポータブル機器をはじめ、コンビニエンスストアの情報端末、デジタル複合機などの組込み製品や試作機開発を容易におこなうことができます。 (横河ディジタルコンピュータのODROID-Aプレスリリース より抜粋)
https://w.atwiki.jp/odroid/pages/21.html
ODROID-T 概要 韓国Hardkernel社の、Linux/Android搭載組込み機器開発向けプラットフォームです。 Samsung社S5PC110(ARM Cortex-A8コア 1GHz)を採用、タブレット型の製品や試作機、および無線LAN対応製品の開発を容易におこなうことができます。 OSカーネルやデバイスドライバのJTAGデバッグが可能です。 (横河ディジタルコンピュータのODROID-T紹介ページ より抜粋) 主な仕様 CPU Samsung S5PC110 (Cortex-A8 1GHz) メモリ 512MB Mobile DDR/NAND 512MB ディスプレイ 10.1インチLCD (1360×768) オーディオ スピ-カー/マイクロフォン内蔵 SDスロット SDHC、microSDHC (システム用) USB USB 2.0 HS I/O UART/JTAG ネットワーク Wi-Fi (IEEE802.11 b/g) / Bluetooth その他 3次元加速度センサー / USB接続GPSユニット システム u-boot 1.3.4, Kernel 2.6.29, Android 2.1(2.2へのアップデート可能)
https://w.atwiki.jp/android-memo/pages/48.html
Android搭載でアプリをインストール可能な腕時計一覧 汎用アプリがインストール可能 名称 OSバージョン root 解像度 フレーム寸法 備考 Motorola MOTOACTV 2.3 必要 172×220(1.6") 4.6×4.6cm 実用にはかなりのソフトウェア改造を必要とする。 Android Watch Z1 2.2 済 320×240(2.0") 6.0×4.2cm Androidマーケットがない。 専用アプリのみ 名称 OSバージョン root 解像度 フレーム寸法 備考 i m watch 1.6 240×240(1.54") 汎用アプリが使えるかは不明だが、Android1.6なのであまり期待できない。 Smart Watch 唯一まともな手段で入手可能。 参考 名称 OSバージョン 解像度 フレーム寸法 備考 Abacus Wrist PDA Palm 4.1 160×160(1.4") 4cm×5.4cm ボタンが少ない点以外は一般的なPalm機と同一。
https://w.atwiki.jp/programhack/pages/15.html
Android関連 AlertDialogをモーダルにする setCancelableメソッドをfalseにすることで、戻るボタンやダイアログ以外の場所をクリックされても ダイアログが閉じないようにできる 参考サイト ダイアログは永遠に(1) - AlertDialog http //ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=51 画像を扱う際のOutOfMemory対策 androidではメモリが少ないため、すぐメモリリークが起こる。 そのため、普段よりもメモリを気にして開発することが必須になる。 参考サイト Androidにおける画像の取扱い http //lablog.lanche.jp/archives/192 一定時間で自動的に閉じるポップアップ String msg1 = Util.getString((Context)thisActivity,R.string.M120); final AlertDialog dialog = new AlertDialog.Builder((Context)thisActivity) .setTitle(Util.getString((Context)thisActivity,R.string.I000)) .setMessage(msg1) .create(); Handler handler = new Handler(); Runnable r = new Runnable() { public void run() { dialog.dismiss(); setResult(RESULT_OK); finish(); } }; dialog.show(); handler.postDelayed(r, 5000); ちょっとしたポップアップ 以下でポップアップを表示できる Toast.makeText(context, "なんかの文字", Toast.LENGTH_LONG).show(); ソフトウエアキーボード制御 キーボードでテキストボックスが隠れないように 実装したかったができなかった。 ↓これを参考にしたが、だめorz http //ssnohibi.blog122.fc2.com/blog-entry-121.html 参考にしたサイトをあげておく。 参考 http //blog.global-eng.co.jp/android/2011/06/03/%E3%82%BD%E3%83%95%E3%83%88%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AE%E5%88%B6%E5%BE%A1/ http //ssnohibi.blog122.fc2.com/blog-entry-121.html ライフサイクル Activityイベントが呼ばれる順番。 参考 TechBooster 図解Androidのライフサイクルとプラットフォーム http //techbooster.jpn.org/andriod/environment/323/ ソフトキーボード表示時、画面タッチでキーボードをしまう InputMethodManagerのhideSoftInputFromWindow()を使用。 対象のEditTextに適用する InputMethodManager inputMethodManager = (InputMethodManager)act.getSystemService(Context.INPUT_METHOD_SERVICE); //ソフトキーボードを閉じるように設定 for(int txtId txtIdArray){ EditText txt = (EditText)lil.findViewById(txtId); inputMethodManager.hideSoftInputFromWindow(txt.getWindowToken(),0); } strokeタグを利用して枠線を描画することができます。 「android width」にて枠線の幅を設定 「android color」にて線の色を設定 corners にて枠線の角の設定を行います。 paddingにて描画領域を内側に寄せます。 枠線に内側のビューが重ならないように、枠線の幅の分はpaddingで寄せるようにします。 solid にて枠線の内側の塗りつぶしを行います。 shapeタグを使用することにより、グラデーションや枠線、角丸などの効果を持った背景形状を定義できます。 画像の色からカラーコードを調べる方法 ペイントで画像を開いて、スポイトのマークで吸い取ったら 色→色の編集→色の作成 に吸い取ったカラーのRGB値(10進数)が出てます。 それをRGBの順で16進数になおしてつなげる OnTouchListenerのonTouchイベント戻り値 押しっぱなしのとき、falseを返すと一度で処理が終わるが、 trueを返すとまた処理に入る widgetを非表示にして詰める方法 TextView txt = (TextView) findViewById(R.id.txt); txt.setVisibility(View.GONE); ↑消したいやつにGONEを指定すると、非表示にして詰めるようにできる。 OutputStream#write(int) バッファ使用 めっちゃ速さが変わる!!! 以下参考↓ http //d.hatena.ne.jp/guangda/20100129/1264746893 java高速化方法 http //adgjm.net/its/java/pa.htm android キャプチャ取り方 eclipseでDDMSタブのDevicesタブにある対象の端末を選択し、 カメラのアイコンをクリック。 別ウィンドウが表示され、キャプチャできる。 スクロールバー常に表示 android fadeScrollbars="false" 一気にトップに戻るときなどに生成したアクティビティを削除する方法 画像ファイルが解放されなくて、メモリリークになったが、 下記のサイト解決できそう。 http //inujirushi123.blog.fc2.com/blog-entry-44.html 遷移するときにインテントフラグをセットすればいいらしい。 前回状態を維持したまま、前の画面に戻る 前回状態で前の画面に戻る場合、 startActivityForResult()でリクエストコードを渡して、判定するやり方がある。 TOP画面に戻るなど、中間の画面を飛ばして遷移する場合は、 この方法で中間のActivityを残さないで遷移できる。 (中間のActivityが残るとメモリがどんどん消費される→メモリリークorz) 参考 AIRIA Android 画面遷移 http //gallop.ddo.jp/blog/airia/2009/06/android-1.html 関連書籍 プログラミングAndroid
https://w.atwiki.jp/takenote/pages/23.html
11/05/08 android 環境整備メモ for mac 1 Android SDK install http //developer.android.com/sdk/index.html .profileへ export PATH=$PATH ~/android-sdk-mac/tools 追加 SDKコンポーネントのダウンロード(Android SDK2.0以降) ターミナルから ./android-sdk-mac/tools/android 実行 サイドメニュー"Settings" "Force https //...sources to be fetched using http //..." にチェック Save Apply サイドメニュー"Available Packages" ダウンロード対象をチェック "Android Repository" "Third party Add-ons" 必要なところにチェックを入れて、"Install Selected" android-sdk-mac/platform に保存される ADT(Android Development Tools)のインストール ADT Eclipse用のAndroidカスタムプラグイン Eclipse起動 [Help]-[Install New Software] Add ボタンを押す "Location"に https //dl-ssl.google.com/android/eclipse/ 入力 OK ボタンを押す 追加するツールのリストが表示されるので、 インストール対象にチェックマークをつけて Nextボタンを押す Install Details ウィンドウ - Next - ライセンス承諾 - Finish 2 Eclipse install http //www.eclipse.org/downloads/ [Eclipse] - [環境設定] "Android" 選択 "SDK Location" にSDKルートディレクトリのパス指定 Apply - OK
https://w.atwiki.jp/riverwin/pages/15.html
= Android = == 参考HP == * [http //developer.android.com/index.html Android Developers] * [http //itpro.nikkeibp.co.jp/article/COLUMN/20090708/333496/?ST=android-dev Androidで広がる、携帯アプリ開発の世界---目次 - Androidで広がる、携帯アプリ開発の世界:ITpro] * [http //www.kumikomi.net/archives/2010/02/fo02andr.php 「Android」に関する情報|Tech Village / CQ出版株式会社] * [http //sites.google.com/site/io/anatomy--physiology-of-an-android Anatomy Physiology of an Android] - Androidの分析と設計哲学 * [http //sites.google.com/site/io/dalvik-vm-internals Dalvik VM Internals] - Dalvikの内部構造 == SDK (Software Development Kit) == * [http //java.sun.com/javase/downloads/index.jsp Java SE] * [http //mergedoc.sourceforge.jp/index.html#/pleiades.html Pleades - Eclipse プラグイン日本語化プラグイン] * [http //developer.android.com/sdk/index.html Android SDK] == NDK (Native-code Development Kit) == * [http //www.cygwin.com/ Cygwin Information and Installation] - Windows環境で開発する場合に必要 * [http //developer.android.com/sdk/ndk/index.html Android NDK] * [http //www.atmarkit.co.jp/fjava/rensai4/android15/android15_1.html Android NDKでJNIを使用してアプリを高速化するには (1/3) - @IT] * [wiki Android/SocketProgramming ソケットプログラミング] == Tips == * CUI/GUIの切り替え(for x86) * CUI Alt+F1 * GUI Alt+F7 * エミュレータの端末の向きを変えるには?:[ctrl]+[F12] * Android-x86で日本語入力するには? * [http //www.adamrocker.com/blog/286/simeji-for-x86.html x86で動くSimeji]ページから「Simeji3.A.3_x86.apk」をダウンロードしてインストールする。 * !LogCatで日本語を表示するには? * EclipseのADTプラグインでのLogCatでは、文字コードを指定できないため、表示不可。 * コマンドラインで直接LogCatを起動することにより、表示可能。 1. コマンドラインプロンプトのフォントをMSゴシックにするために仮のバッチファイル(ファイル名は最終的なものと同一)を作成する。内容は以下の通り。 {{{ cmd /k adb logcat }}} 1. 上記で作成したバッチファイルを実行し、表示されたWindowのタイトルバー右クリックでプロパティメニューを表示し、フォントタブにてフォントをMSゴシックに指定する。 1. バッチファイルを、UTF-8設定用に変更する。内容は以下の通り。 {{{ cmd /k chcp 65001 | adb logcat }}} * Android Marketに登録できないアプリを広めるには? * サードパーティが運営しているサーバを使用する。ex.[http //andappstore.com/ AndAppStore] * アプリ内で1D/2Dバーコードスキャンを行うには? * [http //code.google.com/p/zxing/ Zebra Crossing]を使用する。 == 関連リンク == * [http //www.oesf.jp/ Open Embedded Software Foundation] * [http //wiki.github.com/OESF/Embedded-Master-ARM/em1-environment-constructed EM1 Environment Constructed] {{{ #!comment == パッケージのインストール == 参考:[http //source.android.com/source/download.html Get Android Source Code | Android Open Source] 1. ビルドに必要なパッケージのインストール {{{ $ sudo apt-get update $ sudo apt-get -y install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind g++ }}} 1. Android専用のプロジェクト管理ツール「repo」のインストール {{{ $ cd ~ $ mkdir bin $ curl http //android.git.kernel.org/repo ~/bin/repo $ chmod a+x ~/bin/repo }}} 1. 環境変数の設定 {{{ $ ls /usr/lib/jvm java-1.5.0-sun java-1.5.0-sun-1.5.0.19 $ export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun $ export PATH=$PATH ~/bin }}} 1. Android環境一式のダウンロード(Eclair)[[BR]] {{{ $ mkdir ~/work/mydroid $ cd ~/work/mydroid $ repo init -u http //android.git.kernel.org/platform/manifest.git -b eclair ... $ repo sync ... }}} 1. Linux kernelのダウンロード[[BR]] {{{ $ mkdir kernel $ cd kernel $ git clone git //android.git.kernel.org/kernel/common.git ... $ git clone git //android.git.kernel.org/kernel/linux-2.6.git ... $ git clone git //android.git.kernel.org/kernel/omap.git ... $ git clone git //android.git.kernel.org/platform/vendor/asus/eee_701.git ... $ repo sync ... }}} 1. ダウンロード結果 {{{ $ cd ~/work/mydroid $ ls -aF ./ Makefile build/ development/ hardware/ prebuilt/ vendor/ ../ bionic/ cts/ external/ kernel/ sdk/ .repo/ bootable/ dalvik/ frameworks/ packages/ system/ $ du -s 5703292. }}} 1. ビルド {{{ $ source ./build/envsetup.sh $ choosecombo 1 1 generic 3 $ make ... $ }}} }}} == x86 on VMware用パッケージのインストール == 参考 [http //arms22.blog91.fc2.com/blog-entry-254.html なんでも作っちゃう、かも。x86 Android Donut on VMware] 1. イメージファイルの変換に必要なパッケージのインストール {{{ $ sudo apt-get install qemu }}} 1. ソースコードの取得 {{{ $ cd ~/work $ mkdir android-x86 $ cd android-x86 $ repo init -u git //git.android-x86.org/android-x86/platform/manifest.git -b eclair-x86 ... $ repo sync ... }}} 1. 差分ファイルの取得[[BR]] ビルドに必要なソースがリポジトリから削除されているので([http //groups.google.com/group/android-x86/browse_thread/thread/acd93d7d702c5de9?pli=1 参考Topic])、削除前の[http //android.git.kernel.org/?p=platform/frameworks/base.git;a=snapshot;h=0c33ed2992b2eb484c229fd3322df14d97c10caa;sf=tgz スナップショット]をダウンロードし、展開後、frameworks/base/tools/layoutlib/api/*部分をコピーする。(以下は、「~/temp/downloads」にダウンロードした場合の例) {{{ $ cd ~/temp/downloads $ tar zxvf base-0c33ed2992b2eb484c229fd3322df14d97c10caa.tar.gz $ cp -r base/tools/layoutlib/api/ ~/work/android-x86/frameworks/base/tools/layoutlib/ $ cd ~/work/android-x86 $ du -s 4040996. }}} 1. ソースの修正 a. Bluetoothの有効化[[BR]] ./build/target/board/generic_x86/init.rcスクリプト中のbluetoothdサービス起動部分のdisabled設定をコメントアウトする。 {{{ service bluetoothd /system/bin/bluetoothd -n socket bluetooth stream 660 bluetooth bluetooth socket dbus_bluetooth stream 660 bluetooth bluetooth # init.rc does not yet support applying capabilities, so run as root and # let bluetoothd drop uid to bluetooth with the right linux capabilities group bluetooth net_bt_admin misc # disabled }}} 1. USB起動用のイメージファイルとしてビルド[[BR]] ※初回makeでエラー停止した場合、再度makeすると通る場合あり。 a. デフォルトカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc }}} a. カーネルをカスタムビルドする場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_KERNEL_CONFIG=my_defconfig }}} a. 既にビルド済みのカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_PREBUILT_KERNEL= path to the prebuilt kernel }}} 1. 仮想ディスクイメージファイルの作成 {{{ $ cd out/target/product/eeepc $ qemu-img convert eeepc_usb.img -O vmdk installer.vmdk }}} 1. VMwareの新規仮想マシンを作成 1. 「後でOSをインストール」を選択し、「次へ」を押下する。 1. ゲストOSは「Linux」を選択する。 1. バージョンは「他のLinux2.6.xカーネル」を選択し、「次へ」を押下する。 1. 仮想マシン名を適当に作成する(例.「Android Eclair on x86」)し、「次へ」を押下する。 1. ディスク最大サイズを設定する(例.4.0GB)。 1. 「仮想ディスクを単一ファイルとして格納」を選択し、「次へ」を押下する。 1. 「完了」を押下する。 1. VMwareのディスク設定を追加・変更 1. 上記で作成したディスクをscsi0 0からide0 0に変更する。 1. vmxファイルを開いて以下の行を追加する。ide0 0がprimary master、ide0 1がprimary slave。なお、「bios.bootDelay」は、電源On時にBIOS Setup画面に移行するためのF2キー押下を容易にするための設定。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" bios.bootDelay="3000" }}} 1. ビルドした仮想ディスクイメージファイル(installer.vmdk)をvmxファイルと同じフォルダにコピーする。 1. VMwareの仮想ハードディスクにAndroidをインストール 1. VMwareを起動し、BIOS設定を変更して、IDEのprimary slave(PS)からBOOTする。 1. AndroidのInstallを選択する。 1. 検出されたHard Diskにパーティションを作成し、ext3でフォーマットする。 1. インストールディスクの削除 1. vmxファイルを開いて次の行を削除する。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" }}} 1. 起動確認[[BR]] VMwareを再生し、Androidが起動することを確認する。
https://w.atwiki.jp/cappu/pages/30.html
Android 1.5 環境構築 リンク Android developer login Android developer Home Android 1.5 SDKインストール方法 android-sdk-windows-1.1_r1.zipをダウンロード後、 sdk /tools/ にpathを通す Android 1.5 SDKへアップデート方法 勉強方法 サンプル ApiDemos をEclipseプロジェクトにインポートする方法 サンプルアプリのリポジトリ svn checkout http //apps-for-android.googlecode.com/svn/trunk/ apps-for-android-read-only メモ 画面遷移 opengl ES SDCard OptionsMenuの作成方法 リンク Google Nexus One 3Dベンチマーク&UIツアー
https://w.atwiki.jp/memo_java/pages/8.html
TextViewのスクロールバー ・縦 ScrollView android layout_width ="fill_parent" android layout_height="fill_parent" TextView android id="@+id/name" android layout_width="wrap_content" android layout_height="wrap_content" android text="TextView" / /ScrollView ・横 HorizontalScrollView android layout_width="fill_parent" android layout_height="fill_parent" android id="@+id/HorizontalScrollView" TextView android id="@+id/name" android layout_width="wrap_content" android layout_height="wrap_content" android text="TextView" / /ScrollView /HorizontalScrollView